package band.wukong.practice.webservice.kh.sample07;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.xml.ws.Endpoint;

/**
 *  * 契约优先的步骤：
 * 1. 先编写schema和wsdl
 * 2. 根据wsdl生成客户端代码
 *    wsimport -keep -verbose -d d:/ -encoding utf-8 ./src/main/resources/META-INF/wsdl/kh/sample07.xml
 *    生成的类只有CalcService有用，其他的都可以删掉.
 * 3. 编写实现类（在实现类上指定wsdlLocation）。
 *    删除CalcService中的@XmlSeeAlso({ObjectFactory.class})
 * 4. 修改SEI和SIB的方法签名，加入header。
 * 5. 用wsimport wsdl来校验看生成的wsdl与原来是否一致。一致则正确。
 * 6. 发布服务
 * 7. 客户端访问不用再修改SEI和SIB，直接在client中使用soap api添加header即可。
 *
 *
 * @author wukong(wukonggg@139.com)
 */
public class CalcServer {

    private static final Logger logger = LoggerFactory.getLogger(CalcServer.class);

    public static void main(String[] args) {
        final String URL = "http://localhost:9000/wkp/webservice/kh/sample07";
        Endpoint.publish(URL, new CalcServiceImpl());
        logger.info("Server started.");
        logger.info("WSDL = " + URL + "?wsdl");
    }
}
